// cover some element-ui styles

.el-breadcrumb__inner,
.el-breadcrumb__inner a {
  font-weight: 400 !important;
}

.el-upload {
  input[type="file"] {
    display: none !important;
  }
}

.el-upload__input {
  display: none;
}

.cell {
  .el-tag {
    margin-right: 0px;
  }
}

.small-padding {
  .cell {
    padding-left: 5px;
    padding-right: 5px;
  }
}

.fixed-width {
  .el-button--mini {
    padding: 7px 10px;
    width: 60px;
  }
}

.status-col {
  .cell {
    padding: 0 10px;
    text-align: center;

    .el-tag {
      margin-right: 0px;
    }
  }
}

// to fixed https://github.com/ElemeFE/element/issues/2461
.el-dialog {
  transform: none;
  left: 0;
  position: relative;
  margin: 0 auto;
}

// refine element ui upload
.upload-container {
  .el-upload {
    width: 100%;

    .el-upload-dragger {
      width: 100%;
      height: 200px;
    }
  }
}

// dropdown
.el-dropdown-menu {
  a {
    display: block
  }
}

// fix date-picker ui bug in filter-item
.el-range-editor.el-input__inner {
  display: inline-flex !important;
}

// to fix el-date-picker css style
.el-range-separator {
  box-sizing: content-box;
}

.el-menu--collapse
  > div
  > .el-submenu
  > .el-submenu__title
  .el-submenu__icon-arrow {
  display: none;
}

.el-dropdown .el-dropdown-link{
  color: var(--el-color-primary) !important;
}

// 现代化Element Plus组件样式

// 按钮现代化
.el-button {
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.3s ease;
  
  &:hover {
    transform: translateY(-1px);
  }
  
  &.el-button--primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
    
    &:hover {
      box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
    }
  }
  
  &.el-button--success {
    background: linear-gradient(135deg, #56ab2f 0%, #a8e6cf 100%);
    border: none;
    box-shadow: 0 4px 12px rgba(86, 171, 47, 0.3);
    
    &:hover {
      box-shadow: 0 6px 16px rgba(86, 171, 47, 0.4);
    }
  }
  
  &.el-button--warning {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    border: none;
    box-shadow: 0 4px 12px rgba(240, 147, 251, 0.3);
    
    &:hover {
      box-shadow: 0 6px 16px rgba(240, 147, 251, 0.4);
    }
  }
  
  &.el-button--info {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    border: none;
    box-shadow: 0 4px 12px rgba(79, 172, 254, 0.3);
    
    &:hover {
      box-shadow: 0 6px 16px rgba(79, 172, 254, 0.4);
    }
  }
}

// 卡片现代化
.el-card {
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  background: var(--main-bg-color, #f8fafc) !important; // 直接使用主题背景色
  
  &:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
  }
  
  .el-card__header {
    background: var(--main-bg-color, #f8fafc) !important; // 头部也使用主题背景色
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding: 18px 20px;
  }
  
  .el-card__body {
    padding: 20px;
    background: var(--main-bg-color, #f8fafc) !important; // 内容区域使用主题背景色
  }
}

// 表格现代化 - 使用CSS变量支持动态主题
.el-table {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  
  // 直接使用主题背景色
  background: var(--main-bg-color, #f8fafc) !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
  
  // 覆盖Element Plus的默认背景色变量，让表格行也使用主题背景色
  --el-table-bg-color: var(--main-bg-color, #f8fafc);
  --el-table-tr-bg-color: var(--main-bg-color, #f8fafc);
  
  // 覆盖Element Plus默认的hover样式
  --el-table-row-hover-bg-color: transparent;
  
  .el-table__header-wrapper {
    .el-table__header {
      th {
        background: var(--main-bg-color, #f8fafc) !important; // 表头使用主题背景色
        color: var(--table-header-text-color, #475569);
        font-weight: 600;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        padding: 16px 12px;
      }
    }
  }
  
  .el-table__body-wrapper {
    .el-table__row {
      transition: all 0.3s ease;
      background: var(--main-bg-color, #f8fafc) !important; // 表格行使用主题背景色
      
      &:hover {
        background: var(--table-hover-bg-color, rgba(59, 130, 246, 0.15)) !important; // 悬停时使用半透明的侧边栏颜色
        transform: translateY(-1px);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
      }
      
      &:nth-child(even) {
        background: var(--main-bg-color, #f8fafc) !important; // 偶数行也使用主题背景色
        
        &:hover {
          background: var(--table-hover-bg-color, rgba(59, 130, 246, 0.15)) !important; // 偶数行悬停也使用半透明的侧边栏颜色
          transform: translateY(-1px);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }
      }
      
      td {
        background-color: transparent !important;
        border-bottom: 1px solid var(--table-cell-border-color, rgba(102, 126, 234, 0.1));
        padding: 16px 12px;
        backdrop-filter: blur(3px);
        color: var(--table-text-color, inherit);
      }
    }
  }
}

// 输入框现代化
.el-input {
  .el-input__wrapper {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    
    &:hover {
      border-color: #cbd5e0;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    }
    
    &.is-focus {
      border-color: #667eea;
      box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    }
  }
}

// 选择器现代化
.el-select {
  .el-select__wrapper {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    
    &:hover {
      border-color: #cbd5e0;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    }
    
    &.is-focused {
      border-color: #667eea;
      box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    }
  }
}

// 对话框现代化
.el-dialog {
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  border: none;
  
  .el-dialog__header {
    background: #fafbfc;
    border-bottom: 1px solid #f1f5f9;
    border-radius: 16px 16px 0 0;
    padding: 20px 24px;
    
    .el-dialog__title {
      font-weight: 600;
      color: #1a202c;
    }
  }
  
  .el-dialog__body {
    padding: 24px;
  }
  
  .el-dialog__footer {
    padding: 16px 24px;
    border-top: 1px solid #f1f5f9;
  }
}

// 菜单现代化
.el-menu {
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: none;
  
  .el-menu-item {
    border-radius: 8px;
    margin: 4px 8px;
    transition: all 0.3s ease;
    
    &:hover {
      background: #f0f4ff !important;
      color: #667eea;
    }
    
    &.is-active {
      background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
      color: white;
      box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
    }
  }
}

// 分页器现代化
.el-pagination {
  .el-pager {
    .number {
      border-radius: 6px;
      margin: 0 2px;
      transition: all 0.3s ease;
      
      &:hover {
        background: #f0f4ff;
        color: #667eea;
      }
      
      &.is-active {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
      }
    }
  }
  
  .btn-prev,
  .btn-next {
    border-radius: 6px;
    transition: all 0.3s ease;
    
    &:hover {
      background: #f0f4ff;
      color: #667eea;
    }
  }
}

// ========================================
// 暗黑模式 Element Plus 组件适配
// ========================================

html.dark {
  // 表格暗黑模式 - 纯黑色背景
  .el-table {
    --el-table-bg-color: #000000;
    --el-table-tr-bg-color: #000000;
    --el-table-header-bg-color: #000000;
    --el-table-row-hover-bg-color: #000000;
    --el-table-current-row-bg-color: #000000;
    --el-table-header-text-color: var(--color-gray-100);
    --el-table-text-color: var(--color-gray-200);
    --el-table-border-color: var(--color-gray-600);
    
    // 使用纯黑色背景
    background: #000000 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    
    .el-table__header-wrapper {
      .el-table__header {
        th {
          background: #000000 !important; // 表头使用纯黑色
          color: var(--color-gray-100) !important;
          border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        }
      }
    }
    
    .el-table__body-wrapper {
      .el-table__row {
        background: #000000 !important; // 表格行使用纯黑色
        transition: all 0.3s ease !important;
        
        &:hover {
          background: var(--table-hover-bg-color, rgba(255, 255, 255, 0.05)) !important; // 悬停时使用统一的悬停颜色
          transform: translateY(-1px);
        }
        
        &:nth-child(even) {
          background: #000000 !important; // 偶数行也是纯黑色
            
          &:hover {
            background: var(--table-hover-bg-color, rgba(255, 255, 255, 0.05)) !important; // 偶数行悬停也有高亮
          }
        }
        
        td {
          background-color: transparent !important;
          border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
          color: var(--color-gray-200) !important;
        }
      }
      
      .el-table__row--striped {
        background: #000000 !important; // 条纹行也是纯黑色
        
        td {
          background-color: transparent !important;
        }
      }
    }
    
    .el-table__empty-block {
      background-color: #000000 !important;
      color: var(--color-gray-400) !important;
    }
    
    .el-table__fixed,
    .el-table__fixed-right {
      background: #000000 !important; // 固定列也是纯黑色
    }
  }
  
  // 卡片暗黑模式
  .el-card {
    --el-card-bg-color: #000000;
    --el-card-border-color: rgba(255, 255, 255, 0.1);
    
    background: #000000 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: var(--shadow-lg) !important;
    
    .el-card__header {
      background: #000000 !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
      color: var(--color-gray-100) !important;
    }
    
    .el-card__body {
      background: #000000 !important;
      color: var(--color-gray-200) !important;
    }
  }
  
  // 按钮暗黑模式
  .el-button {
    --el-button-bg-color: var(--color-gray-700);
    --el-button-border-color: var(--color-gray-600);
    --el-button-text-color: var(--color-gray-200);
    --el-button-hover-bg-color: var(--color-gray-600);
    --el-button-hover-border-color: var(--color-gray-500);
    --el-button-hover-text-color: var(--color-gray-100);
    
    &:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--info) {
      background: var(--color-gray-700) !important;
      border-color: var(--color-gray-600) !important;
      color: var(--color-gray-200) !important;
      
      &:hover {
        background: var(--color-gray-600) !important;
        border-color: var(--color-gray-500) !important;
        color: var(--color-gray-100) !important;
      }
    }
  }
  
  // 输入框暗黑模式
  .el-input {
    --el-input-bg-color: var(--color-gray-800);
    --el-input-border-color: var(--color-gray-600);
    --el-input-text-color: var(--color-gray-200);
    --el-input-placeholder-color: var(--color-gray-400);
    
    .el-input__wrapper {
      background-color: var(--color-gray-800) !important;
      border-color: var(--color-gray-600) !important;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
      
      &:hover {
        border-color: var(--color-gray-500) !important;
      }
      
      &.is-focus {
        border-color: var(--color-brand-500) !important;
        box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.3) !important;
      }
    }
    
    .el-input__inner {
      color: var(--color-gray-200) !important;
      
      &::placeholder {
        color: var(--color-gray-400) !important;
      }
    }
  }
  
  // 选择器暗黑模式
  .el-select {
    .el-select__wrapper {
      background-color: var(--color-gray-800) !important;
      border-color: var(--color-gray-600) !important;
      color: var(--color-gray-200) !important;
      
      &:hover {
        border-color: var(--color-gray-500) !important;
      }
      
      &.is-focused {
        border-color: var(--color-brand-500) !important;
        box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.3) !important;
      }
    }
    
    .el-select__placeholder {
      color: var(--color-gray-400) !important;
    }
  }
  
  // 下拉菜单暗黑模式
  .el-select-dropdown,
  .el-dropdown-menu {
    --el-bg-color: var(--color-gray-800);
    --el-border-color: var(--color-gray-600);
    
    background: var(--color-gray-800) !important;
    border: 1px solid var(--color-gray-600) !important;
    box-shadow: var(--shadow-xl) !important;
    
    .el-select-dropdown__item,
    .el-dropdown-menu__item {
      color: var(--color-gray-200) !important;
      
      &:hover {
        background: var(--color-gray-700) !important;
        color: var(--color-gray-100) !important;
      }
      
      &.is-selected {
        background: var(--color-brand-600) !important;
        color: white !important;
      }
    }
  }
  
  // 对话框暗黑模式
  .el-dialog {
    --el-dialog-bg-color: var(--color-gray-800);
    --el-dialog-border-color: var(--color-gray-700);
    
    background: var(--color-gray-800) !important;
    border: 1px solid var(--color-gray-700) !important;
    
    .el-dialog__header {
      background: var(--color-gray-700) !important;
      border-bottom: 1px solid var(--color-gray-600) !important;
      
      .el-dialog__title {
        color: var(--color-gray-100) !important;
      }
    }
    
    .el-dialog__body {
      background: var(--color-gray-800) !important;
      color: var(--color-gray-200) !important;
    }
    
    .el-dialog__footer {
      background: var(--color-gray-800) !important;
      border-top: 1px solid var(--color-gray-600) !important;
    }
  }
  
  // 标签暗黑模式
  .el-tag {
    --el-tag-bg-color: var(--color-gray-700);
    --el-tag-border-color: var(--color-gray-600);
    --el-tag-text-color: var(--color-gray-200);
    
    background: var(--color-gray-700) !important;
    border-color: var(--color-gray-600) !important;
    color: var(--color-gray-200) !important;
    
    &.el-tag--success {
      background: rgba(34, 197, 94, 0.2) !important;
      border-color: var(--color-success-600) !important;
      color: var(--color-success-400) !important;
    }
    
    &.el-tag--warning {
      background: rgba(245, 158, 11, 0.2) !important;
      border-color: var(--color-warning-600) !important;
      color: var(--color-warning-400) !important;
    }
    
    &.el-tag--danger {
      background: rgba(239, 68, 68, 0.2) !important;
      border-color: var(--color-error-600) !important;
      color: var(--color-error-400) !important;
    }
    
    &.el-tag--info {
      background: rgba(59, 130, 246, 0.2) !important;
      border-color: var(--color-info-600) !important;
      color: var(--color-info-400) !important;
    }
  }
  
  // 分页器暗黑模式
  .el-pagination {
    --el-pagination-bg-color: var(--color-gray-800);
    --el-pagination-text-color: var(--color-gray-200);
    --el-pagination-border-color: var(--color-gray-600);
    
    .el-pager {
      .number {
        background: var(--color-gray-700) !important;
        border: 1px solid var(--color-gray-600) !important;
        color: var(--color-gray-200) !important;
        
        &:hover {
          background: var(--color-gray-600) !important;
          color: var(--color-gray-100) !important;
        }
        
        &.is-active {
          background: var(--color-brand-600) !important;
          border-color: var(--color-brand-600) !important;
          color: white !important;
        }
      }
    }
    
    .btn-prev,
    .btn-next {
      background: var(--color-gray-700) !important;
      border: 1px solid var(--color-gray-600) !important;
      color: var(--color-gray-200) !important;
      
      &:hover {
        background: var(--color-gray-600) !important;
        color: var(--color-gray-100) !important;
      }
    }
    
    .el-pagination__total,
    .el-pagination__jump {
      color: var(--color-gray-300) !important;
    }
  }
  
  // 表单暗黑模式
  .el-form {
    .el-form-item__label {
      color: var(--color-gray-300) !important;
    }
    
    .el-form-item__error {
      color: var(--color-error-400) !important;
    }
  }
  
  // 开关暗黑模式
  .el-switch {
    --el-switch-on-color: var(--color-brand-600);
    --el-switch-off-color: var(--color-gray-600);
    --el-switch-border-color: var(--color-gray-500);
  }
  
  // 单选框/复选框暗黑模式
  .el-radio,
  .el-checkbox {
    --el-radio-text-color: var(--color-gray-200);
    --el-checkbox-text-color: var(--color-gray-200);
    --el-radio-input-border-color: var(--color-gray-600);
    --el-checkbox-input-border-color: var(--color-gray-600);
    
    .el-radio__label,
    .el-checkbox__label {
      color: var(--color-gray-200) !important;
    }
  }
  
  // 日期选择器暗黑模式
  .el-date-editor {
    --el-date-editor-bg-color: var(--color-gray-800);
    --el-date-editor-border-color: var(--color-gray-600);
    --el-date-editor-text-color: var(--color-gray-200);
    
    .el-input__wrapper {
      background-color: var(--color-gray-800) !important;
      border-color: var(--color-gray-600) !important;
    }
  }
  
  // 消息提示暗黑模式
  .el-message {
    --el-message-bg-color: var(--color-gray-800);
    --el-message-border-color: var(--color-gray-700);
    --el-message-text-color: var(--color-gray-200);
    
    background: var(--color-gray-800) !important;
    border: 1px solid var(--color-gray-700) !important;
    color: var(--color-gray-200) !important;
    box-shadow: var(--shadow-xl) !important;
  }
  
  // 气泡确认框暗黑模式
  .el-popconfirm,
  .el-tooltip__popper {
    --el-popover-bg-color: var(--color-gray-800);
    --el-popover-border-color: var(--color-gray-700);
    
    background: var(--color-gray-800) !important;
    border: 1px solid var(--color-gray-700) !important;
    color: var(--color-gray-200) !important;
    
    .el-popconfirm__main {
      color: var(--color-gray-200) !important;
    }
  }
}